import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
// 引入elementUI
import ElementUI from 'element-ui';
// 引入elementUI样式
import 'element-ui/lib/theme-chalk/index.css';
// 使用elementUI
Vue.use(ElementUI);
Vue.config.productionTip = false
// 导入mock
import './utils/mock.js'
// 导入重置样式
import './assets/css/reset.css'
// 导入axios
import axios from "axios"
axios.default.baseURL="/",//默认请求的域名
// 配置post的默认请求头
axios.defaults.headers.post['Content-Type']="application/x-www-form-urlencoded";
axios.defaults.timeout=5000;//默认请求超时5000毫秒
//在vue的原型上面添加一个$http的方法
// vue的所有实例（包含各组件各页面）都将会拥有一个this.$http方法
Vue.prototype.$http=axios;

// 导入qs
import qs from 'qs';
// axios的拦截器的作业(请求拦截)
axios.interceptors.request.use(function(config){
	console.log("网络请求中...",config);
	// 如果是post请求，并且传入的数据类型为对象,那么我们可以把data序列化，
	if(config.method=="post"&&typeof config.data=="object"){
		config.data=qs.stringify(config.data)
	}
	return config;
})

// axios的响应拦截
axios.interceptors.response.use(function(req){
	console.log("加载完毕");
	return req;
},function(err){
	return Promise.reject(err);
})

new Vue({
  router,
  store,
  render: h => h(App)
}).$mount('#app')
